package com.little.g.springcloud.admin.web.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

/**
 * swagger在线文档配置<br>
 * 项目启动后可通过地址：http://host:ip/swagger-ui.html 查看在线文档
 *
 * @author enilu
 * @version 2018-07-24
 */

@Configuration
@EnableSwagger2
public class AdminSwagger2Configuration {

	@Bean
	public Docket mallDocket() {

		return new Docket(DocumentationType.SWAGGER_2).groupName("admin")
				.useDefaultResponseMessages(false).apiInfo(adminApiInfo()).select()
				.apis(RequestHandlerSelectors
						.basePackage("com.little.g.springcloud.admin.web"))
				.paths(PathSelectors.regex("^(?!auth).*$")).build();
	}

	private ApiInfo adminApiInfo() {
		return new ApiInfoBuilder().title("admin API").description("管理后台Api")
				.version("1.0").build();
	}

}
